// function Test() {
//     // this.a = 1
// }
// const man = new Test()
// // //new做的操作 1.创建一个新对象 2.把this指向了新对象 3.把新对象的原型__proto__指向了构造函数的prototype 4.判断返回值是否是引用数据类型
// // console.log('man', man)
// // //实例对象的__proto__指向构造函数的prototype
// // console.log('man.__proto__', man.__proto__ === Test.prototype)
// // //构造函数的prototype也是一个对象，也有__proto__,指向Object.prototype，说明Object是其构造函数
// // console.log('man.__proto__.__proto__', man.__proto__.__proto__ === Object.prototype)

// // man.a = 2
// // man.__proto__.a = 3

// // Object.prototype.a = 5
// // console.log(man.constructor == Test.prototype.constructor)
// // Function.prototype.a = 2

// console.log(Function instanceof Object)
// console.log(Object instanceof Function)